/**
 * Copyright (C) 2022-2023
 * All rights reserved, Designed By www.tonetn.com
 * 注意：
 * 本软件为www.tonetn.com开发研制，未经购买不得使用
 * 购买后可获得全部源代码（禁止转卖、分享、上传到码云、github等开源平台）
 * 一经发现盗用、分享等行为，将追究法律责任，后果自负
 */
package com.xunyin.modules.recharge.vo;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import io.swagger.annotations.ApiModel;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @author admin
 * @date 2022-10-27
 */
@Data
@ApiModel(description = "充值订单")
public class TRechargeOrderVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /** ID */
    private Integer id;

    /** 主体Id */
    private Integer mainId;

    /** 门店Id */
    private Integer teaHouseId;

    /** 门店名称 */
    private String teaHouseName;

    /** 下单时间 */
    private Date orderTime;

    /** 微信订单号 */
    private String transactionId;

    /** 订单号 */
    private String orderNo;

    /** 应用用户ID(微信openid,支付宝userid) */
    private String appUserId;

    /** 应用类型 */
    private Integer appType;

    /** 优惠套餐Id */
    private Integer rechargeSetId;

    /** 产品名称 */
    private String rechargeSetName;

    /** 支付订单号 */
    private String appOrderNo;

    /** 支付结果 */
    private Integer resultFlag;

    /** 支付时间 */
    private Date payTime;

    /** 支付方式 */
    private Integer payType;

    /** 订单金额 */
    private Integer orderMoney;

    /** 支付金额 */
    private Integer payMoney;

    /** 总优惠额度 */
    private Integer allDiscountMoney;

    /** 会员用户Id */
    private Integer membersUserId;

    /** 会员折扣 */
    private Double membersDiscount;

    /** 退款订单号 */
    private String refundOrderNo;

    /** 退款应用订单号 */
    private String refundAppOrderNo;

    /** 退款时间 */
    private Date refundTime;

    /** 退款金额 */
    private Integer refundMoney;

    /** 退款状态 */
    private Integer returnFlag;

    /** 错误代码 */
    private String errCode;

    /** 错误代码描述 */
    private String errCodeDesc;

    /** 页面ID */
    private String pageId;

    /** 是否结算 */
    private Integer settleFlag;

    /** 备注 */
    private String remark;

    /** 订单状态(0：待支付 1：已支付  2：已取消 3：已完成  4：已退款) */
    private Integer orderStatus;


    /** 删除日期 */
    private Date deleteTime;

    /** 创建用户ID */
    private Integer createUserId;

    /** 更新用户ID */
    private Integer updateUserId;

    /** 订单状态 */
    private Integer status;

    /** 用户手机号码 */
    private String phone;

    private String orderTimeStr;


    public void copy(TRechargeOrderVo source) {
        BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true));
    }
}
